package com.ruoyi.system.mapper;

import java.util.List;
import com.ruoyi.system.domain.Warehouse;
import com.ruoyi.system.domain.WarehouseDeliveryInformation;
import com.ruoyi.system.domain.WarehouseInventory;

/**
 * 原料仓库信息Mapper接口
 * 
 * @author ruoyi
 * @date 2023-12-31
 */
public interface WarehouseMapper 
{
    /**
     * 查询原料仓库信息
     * 
     * @param id 原料仓库信息主键
     * @return 原料仓库信息
     */
    public Warehouse selectWarehouseById(Long id);

    /**
     * 查询原料仓库信息列表
     * 
     * @param warehouse 原料仓库信息
     * @return 原料仓库信息集合
     */
    public List<Warehouse> selectWarehouseList(Warehouse warehouse);

    /**
     * 新增原料仓库信息
     * 
     * @param warehouse 原料仓库信息
     * @return 结果
     */
    public int insertWarehouse(Warehouse warehouse);

    /**
     * 修改原料仓库信息
     * 
     * @param warehouse 原料仓库信息
     * @return 结果
     */
    public int updateWarehouse(Warehouse warehouse);

    /**
     * 删除原料仓库信息
     * 
     * @param id 原料仓库信息主键
     * @return 结果
     */
    public int deleteWarehouseById(Long id);

    /**
     * 批量删除原料仓库信息
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWarehouseByIds(String[] ids);

    public List<WarehouseInventory> selectInventoryList(WarehouseInventory warehouseInventory);

    public int insertDeliverMaterial(List<WarehouseDeliveryInformation> list);

    public int updateSubtractInventory(WarehouseDeliveryInformation warehouseDeliveryInformation);

    public Long selectSubtractInventory(WarehouseDeliveryInformation warehouseDeliveryInformation);
}
